LeetCode 88
		Time	Space
Variant#2:      O(n+m)	O(n+m)
nums1:
1	3	5
			|
			nums1Ptr

nums2: 
2	4
		|
		nums2Ptr

sortedArray:
1	2	3	4	5
					|
					sortedPtr

Variant#3: O(n+m), O(1)

nums1:
1	2	3	4	5
|	|
nums1PtrsortedPtr

			
nums2: 
	2	4
|
nums2Ptr

- LeetCode 287
2 constraints: 
1) We are not allowed to modify the elements of the array
2) We are not allowed to use extra space

	    Time	Space
Variant#1:  O(n^2)	O(1)

Variant#2:  O(n)	O(n)
Set-based

Variant#3:  O(n)	O(1)
Relax one of the constraints: "Modidying the elements of the array"

3	1	2	-4	3

nums[0] = 3 --> nums[3]

n + 1 => [0, n]

2 observations: 
1. Values are positive integers
2. Values are between [1, n]

Variant#4:  O(n)	O(1)


3	1	2	3	4

nums[0] = 3, nums[3] = 4 ---> swap
nums[0] = 4, nums[4] = 3 ---> swap
nums[0] = 3, nums[3] = 3 ---> Done

2	1	2	3	4

nums[0] = 1, nums[1] = 3
nums[0] = 3, nums[3] = 2
nums[0] = 2, nums[2] = 4
nums[0] = 4, nums[4] = 2
nums[0] = 2, nums[2] = 2 ---> Done








